persistance des données
Durée estimée: 45 minutes
Présentation
Nous allons compléter l'application "peinture" pour enregistrer la photo et pouvoir la récupérer la prochaine fois que nous utiliserons l'application. Dans cette version de l'application Peinture, nous allons voir comment enregistrer une photo dans une base de données, ou plus exactement le nom du fichier dans lequel cette phooto est enregsitrée. Ca nous permettra de la retrouver la prochaine fois que nous utiliserons l'application. La photo va devenir une donnée persistante, c'est à dire une information qui persiste entre une utilisation de l'application et la suivante. Nous allons utiliser un cmposant d'App Inventor qui s'appelle Tiny DB et qui permet de sauvegarder la référence des photos dans l'appareil. Objectifs : Dans cette leçon nous allons :
|
Introduction: Qu'est-ce que Tiny Db ?
Jusqu'à maintenant, les données de nos applications ont été stockées ou bien dans des variables globales ou bien comme la valeur des propriétés des composants de l'application. Par exemple, quand vous mettez du texte dans un label, cette donnée textuelle est stockée dans la mémoire centrale de l'ordinateur memory, dans sa mamoire vive ou RAM — random access memory. Et comme nous l'avons vu, la mamoire RAM est volatile, ce qui vet dire que les données de cette mémoire seront effacées quand on sort de l'application.
Par contre, les données stockées dans la mémoire à long terme de l'ordinateur — c'est à dire pour un smartphone dans le disque ou la mémoire flash — sera persistante aussi longtemps que l'on aura pas effacé de l'appareil, l'application elle même avec ses données. Il y a plusieurs manières de stocker des données de façon permanente ou persitante dans un ordinateur. Vous pouvez les stocker dans un fichier sous forme de doucment ou d'image. Vous pouvez aussi enregsitrer les données dans une base de données ou database. App Inventor propose une base de donénes très simple à utiliser avec le composant TinyDb. Les données stockées avec TinyDb, resteront présentes après la sortie de l'application et même si vous etéignez l'appareil.
Avant d'utiliser TinyDb, la vidéo qui suit en donne une vue d'ensemble.
Intégrer TinyDb à l'application Peinture
Vous pouvez aprtir de la version de l'application que vous avez réalisé dans les leçons précédentes, mais enregistrez votre projet sous un nouveau nom ou avec une nouvelle version pour pouvoir revenir à la version précédente en cas de problème.
Partie design
Dans la partie design :
- Depuis la catégorie "stockage" ajoutez un composant "tinyDB",
- Depuis la catégorie "Interface utilisateur" ajoutez un "bouton" boutonSave que vous pouvez placer dans un des arrangements horizontaux. Vous pouvez remplacer le stextes apr des icones libres de droits à rechercher sur internet.
Partie programme :
deux choses à faire :
- Programmer l'enregistrement du nom de fichier image quand on clique sur le bouton save,
- Programmer la lecture de l'enregsitrement dans tinyDB qu démarrage de l'application, c'est à dire quand screen1.intialize
Nous utilisons le même tag our lire et écrire dans tinyDB
- Enregistrement du nom de fichier
- Lecture du nom de fichier.
Si le tag n'est aps trouvé (aucun enregsitement antérieur) on renvie un texte vide.
Si la valeur renoyée n'est pas vide, on affecte le fichier en fond de cadre.
Solutions
A faire en cours
Auto-contrôle
(Cochez toutes les affirmations valides.)
Tapez votre réponse dans la boite à texte. L'orthographe compte.
Tapez votre réponse dans la boite à texte. L'orthographe compte.
Tags | Values |
---|---|
school | Trinity College |
trinity | Trinity College |
college | Amherst College |
university | Harvard |
Laquelle de ces affirmations décrit ensuite le mieux l'état de la base de données ?
Pour votre Portfolio
Créez une page nommée : Tutoriel sur la persistance des Photos dans la catégorie "réflexions" de votre portfolio, puis répondez brièvement aux questions suivantes :
- Que veut on dire par 'persistantes'?
- Quelles sont les différences entre une variable globale et des données d'une base de données pour ce qui concerne l'endroit où sont stockées les données.
- Quand et combien de fois App Inventor exécute t-il les blocs Screen1.Initialise et quel est l'intérêt de cet évènement ?